[python] Fix RecursionError in vector search with many splits#7823
Merged
Conversation
e87793c to
1579aca
Compare
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
leaves12138
approved these changes
May 13, 2026
Contributor
leaves12138
left a comment
There was a problem hiding this comment.
LGTM. I checked the updated dict-based merge against the previous recursive or_ semantics:
- duplicate row ids still keep the earlier/left result, matching the old chained merge behavior;
top_kis still applied after merging all split results, so high-scored rows from later splits are retained;- vector search and full-text search now use the same non-recursive merge strategy, which avoids the deep
score_getterchain for many splits.
I also ran the focused vector_search_filter_test.py suite locally with a temporary pure-Python bitmap stub because this container cannot use the native pyroaring.BitMap64 dependency; all 11 tests passed under that setup.
Contributor
|
+1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
#7752 fixed the closure chain recursion in BTree path, but Lumina / Tantivy path still nests score_getter closures, causing the same issue. This PR fixes it.
Tests